package mytest

import "fmt"

type Pair struct {
	first  int
	second int
}

// NewPair 是一个构造函数，用于创建一个新的 Pair 实例
// 参数:
//   first:  第一个整数值
//   second: 第二个整数值
// 返回值:
//   *Pair: 指向新创建的 Pair 实例的指针
func NewPair(first int, second int) *Pair {
	return &Pair{first, second}
}

func (p *Pair) GetFirst() int {
	return p.first
}

func (p *Pair) GetSecond() int {
	return p.second
}

type Animal struct {
	Name string
}

func (a *Animal) Speak()  {
	fmt.Println(a.Name, "speaks")
}

type Dog struct {
	Animal
	Breed string
}

func (d Dog) Bark() {
	fmt.Println(d.Name, "barks")
}

func TestDog() {
	test := Dog{Animal{"test"}, "test"}
	test.Speak()
	test.Bark()
}